#!/usr/bin/env node

const fs = require('fs')
const path = require('path')
const inquirer = require('inquirer')
const ejs = require('ejs')

inquirer.prompt([
    {
        type: 'input',
        name: 'name',
        message: 'Project name?'
    },
    {
        type: 'input',
        name: 'initContent',
        message: 'Init value?'
    }
]).then(res => {
    // 模板地址
    const templatesAddress = path.join(__dirname, 'templates');
    // 目标地址
    // process.cwd() 方法返回 Node.js 进程的当前工作目录。
    const targetAddress = process.cwd()
    // 获取模板地址并将其导入目标地址
    fs.readdir(templatesAddress, (err, files) => {
        if (err) throw err
        files.forEach(ele => {
            // 使用EJS模板渲染index.html
            ejs.renderFile(path.join(templatesAddress, ele), res, (err, result) => {
                if (err) throw err
                // 将文件写入到目标路径 这里使用同步形式
                fs.writeFileSync(path.join(targetAddress, ele), result)
            })
        })
    })
})